package org.jsola.hr.vo.payAli;

import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * 批次下单
 *
 * @author zhr
 */
@ApiModel(description = "【批次下单】批次创建订单对象")
@Data
public class BatchOrderVO {

    /**
     * 商户的批次号（必填）
     */
    @JSONField(name = "out_batch_no")
    @ApiModelProperty(notes = "商户的批次号（必填）")
    private String outBatchNo;

    /**
     * 业务产品码。批量转账到户固定为 BATCH_API_TO_ACC（必填）
     */
    @JSONField(name = "product_code")
    @ApiModelProperty(notes = "业务产品码。批量转账到户固定为 BATCH_API_TO_ACC（必填）")
    private String productCode;

    /**
     * 业务场景。固定值 MESSAGE_BATCH_PAY（必填）
     */
    @JSONField(name = "biz_scene")
    @ApiModelProperty(notes = "业务场景。固定值 MESSAGE_BATCH_PAY（必填）")
    private String bizScene;

    /**
     * 转账标题，用于收银台展示标题（必填）
     */
    @JSONField(name = "order_title")
    @ApiModelProperty(notes = "转账标题，用于收银台展示标题（必填）")
    private String orderTitle;

    /**
     * 批次总金额，单位为元，精确到小数点后两位，取值范围[0.01,9999999999999.99]（必填）
     */
    @JSONField(name = "total_trans_amount")
    @ApiModelProperty(notes = "批次总金额，单位为元，精确到小数点后两位，取值范围[0.01,9999999999999.99]（必填）")
    private Double totalTransAmount;

    /**
     * 批次总笔数（必填）
     */
    @JSONField(name = "total_count")
    @ApiModelProperty(notes = "批次总笔数（必填）")
    private String totalCount;

    /**
     * 绝对超时时间，格式为yyyy-MM-dd HH:mm。
     */
    @JSONField(name = "time_expire")
    @ApiModelProperty(notes = "绝对超时时间，格式为yyyy-MM-dd HH:mm。")
    private String timeExpire;

    /**
     * 公用回传参数(业务使用，传给支付宝支付宝回调会传递回来)
     */
    @JSONField(name = "passback_params")
    @ApiModelProperty(notes = "公用回传参数(业务使用，传给支付宝支付宝回调会传递回来)")
    private String passbackParams;

    /**
     * 转账备注
     */
    @ApiModelProperty(notes = "转账备注")
    private String remark;

    /**
     * 收款信息列表
     */
    @JSONField(name = "trans_order_list")
    @ApiModelProperty(notes = "收款信息列表")
    private List<TransOrderVO> transOrderList;


}

